/**
 * Alipay.com Inc. Copyright (c) 2004-2018 All Rights Reserved.
 */
package com.yeyks.pay;

//import com.pingplusplus.Pingpp;
//import com.pingplusplus.exception.*;
//import com.pingplusplus.model.Charge;

import java.math.BigInteger;
import java.security.SecureRandom;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 *
 * @author Beacon
 * @version $Id: PingxxUtil.java, v 0.1 2018年08月26日 21:09 Beacon Exp $
 */
public class PingxxUtil {
//    public static Charge createWxCharge(Long amount, String subject, String body) {
//        Pingpp.apiKey = PayConfiger.apiKey;
//        Pingpp.privateKey = PayConfiger.privateKey;
//        Pingpp.appId = PayConfiger.appId;
//        return createCharge(amount, subject, body, PayConfiger.payType_wxpay);
//    }
//
//    public static Charge createCharge(Long amount, String subject, String body, String payChannel) {
//        Charge charge = null;
//
//        Map<String, Object> chargeMap = new HashMap<String, Object>();
//        chargeMap.put("amount", amount);//订单总金额, 人民币单位：分（如订单总金额为 1 元，此处请填 100）
//        chargeMap.put("currency", "cny");
//        chargeMap.put("subject", "subject");
//        chargeMap.put("body", "body");
//        String orderNo = new Date().getTime() + randomString(7);
//        chargeMap.put("order_no", orderNo);// 推荐使用 8-20 位，要求数字或字母，不允许其他字符
//        chargeMap.put("channel", payChannel);// 支付使用的第三方支付渠道取值，请参考：https://www.pingxx.com/api#api-c-new
//        chargeMap.put("client_ip", "127.0.0.1"); // 发起支付请求客户端的 IP 地址，格式为 IPV4，如: 127.0.0.1
//        Map<String, String> app = new HashMap<String, String>();
//        app.put("id", Pingpp.appId);
//        chargeMap.put("app", app);
//
//        // extra 取值请查看相应方法说明
//        chargeMap.put("extra", wxExtra());
//
//        try {
//            //发起交易请求
//            charge = Charge.create(chargeMap);
//            // 传到客户端请先转成字符串 .toString(), 调该方法，会自动转成正确的 JSON 字符串
//            String chargeString = charge.toString();
//        } catch (APIConnectionException e) {
//            e.printStackTrace();
//        } catch (ChannelException e) {
//            e.printStackTrace();
//        } catch (RateLimitException e) {
//            e.printStackTrace();
//        } catch (AuthenticationException e) {
//            e.printStackTrace();
//        } catch (APIException e) {
//            e.printStackTrace();
//        } catch (InvalidRequestException e) {
//            e.printStackTrace();
//        }
//
//        return charge;
//    }
//
//
//    private static Map<String, Object> wxExtra() {
//        Map<String, Object> extra = new HashMap<String, Object>();
//        // 可选，指定支付方式，指定不能使用信用卡支付可设置为 no_credit 。
//        // extra.put("limit_pay", "no_credit");
//
//        // 可选，商品标记，代金券或立减优惠功能的参数。
//        // extra.put("goods_tag", "YOUR_GOODS_TAG");
//
//        return extra;
//    }
//
//    private static SecureRandom random = new SecureRandom();
//    public static String randomString(int length) {
//        String str = new BigInteger(130, random).toString(32);
//        return str.substring(0, length);
//    }
}